<?php
namespace Plugins\Teste\Uses;

function EnviarErro($mensagem, $codigo) {

	\Core\Libs\Manipulador\Erro::enviar($mensagem, $codigo);
}

function CapturarErros($erros = NULL) {

	\Core\Libs\Manipulador\Erro::capturarErros($erros);
}

function GravarConfiguracao($parametro, $valor, $array = TRUE) {

	\Core\Libs\Configuracao\Configuracao::gravar('Plugins.teste.' . $parametro, $valor, $array = TRUE);
}

function LerConfiguracao($parametro, $array = TRUE) {

	return \Core\Libs\Configuracao\Configuracao::ler('Plugins.teste.' . $parametro, $array = TRUE);
}

function &Singleton($parametro) {

	if(is_array(&$parametro)) {

		return \Core\Libs\Reflexao\ManipuladorInstancia::Singleton(&$parametro);
	}

	return FALSE;
}

function &NewClasse($parametro) {

	return \Core\Libs\Reflexao\ManipuladorInstancia::newClasse(&$parametro);
}

function &Importar($parametro) {

	if(is_array(&$parametro)) {

		return \Core\Libs\Reflexao\ManipuladorInstancia::Singleton(&$parametro);
	}

	return FALSE;
}

function IncluirArquivo($parametro) {

	if(!in_array($parametro, get_included_files())) {

		include($parametro);
	}
}

function IncluirArquivoChecado($parametro) {

	if(!in_array($parametro, get_included_files())) {

		if(file_exists($parametro) && is_file($parametro) && !is_executable($parametro)) {

			include($parametro);
		}

		return FALSE;
	}
}

function Dump($parametro) {

	echo '<br><br><br>';
	echo var_dump($parametro);
	echo '<br><br><br>';
}

function CountInstancias() {

	echo count(\Core\Libs\Reflexao\ManipuladorInstancia::$_arrayInstancias);
}

function &SetArrayParametros($array, $arrayPadrao) {

	$arrayPadrao =& array_merge(&$arrayPadrao, &$array);

	return $arrayPadrao;
}
?>